package com.zdsoft.site.mina.model.customEnum;

import javax.xml.bind.annotation.XmlEnumValue;

/**
 * 业务功能码 43???和45???表示为银行发起，44???和46???表示为服务商发起
 * 
 * @author cqyhm
 *
 */
public enum InstructionCode {
	/** 业务功能码 45701=客户签约 */
	@XmlEnumValue("45701") A45701("45701", "客户签约"),

	/** 业务功能码 45703=客户预签约确认 */
	@XmlEnumValue("45703") A45703("45703", "客户预签约确认"),

	/** 业务功能码=45705修改客户资料 */
	@XmlEnumValue("45705") A45705("45705", "修改客户资料"),

	/** 业务功能码=45710变更银行账户 */
	@XmlEnumValue("45710") A45710("45710", "变更银行账户"),

	/** 业务功能码=45724客户资金密码校验 */
	@XmlEnumValue("45724") A45724("45724", "客户资金密码校验"),

	/** 业务功能码=43701银行发起客户入金 */
	@XmlEnumValue("43701") A43701("43701", "银行发起客户入金"),

	/** 业务功能码=43702银行发起客户出金 */
	@XmlEnumValue("43702") A43702("43702", "银行发起客户出金"),

	/** 业务功能码=43703冲银行发起客户入金 */
	@XmlEnumValue("43703") A43703("43703", "冲银行发起客户入金"),

	/** 业务功能码=43704冲银行发起客户出金 */
	@XmlEnumValue("43704") A43704("43704", "冲银行发起客户出金"),

	/** 业务功能码=43706银行入金通知重发 */
	@XmlEnumValue("43706") A43706("43706", "银行入金通知重发"),

	/** 业务功能码=43707客户出金结果通知 */
	@XmlEnumValue("43707") A43707("43707", "客户出金结果通知"),

	/** 业务功能码=43603交易管理账户资金余额查询 */
	@XmlEnumValue("43603") A43603("43603", "交易管理账户资金余额查询"),

	/** 业务功能码=43903银行多文件生成通知 */
	@XmlEnumValue("43903") A43903("43903", "银行多文件生成通知"),

	/** 业务功能码=43904银行单文件生成通知 */
	@XmlEnumValue("43904") A43904("43904", "银行单文件生成通知"),

	/** 业务功能码=45999服务商通讯监测 */
	@XmlEnumValue("45999") A45999("45999", "服务商通讯监测"),

	/** 业务功能码=46701客户签约 */
	@XmlEnumValue("46701") A46701("46701", "客户签约"),
	
	/** 业务功能码"46703", "客户撤销银行账号" */
	@XmlEnumValue("46703") A46703("46703", "客户撤销银行账号"),
	
	/** 业务功能码=46704客户解约 */
	@XmlEnumValue("46704") A46704("46704", "客户解约"),

	/** 业务功能码=46705修改客户资料 */
	@XmlEnumValue("46705") A46705("46705", "修改客户资料"),

	/** 业务功能码=46712 客户结息 */
	@XmlEnumValue("46712") A46712("46712", "客户结息"),
	
	/** 业务功能码=46720 管理账户信息查询 */
	@XmlEnumValue("46720") A46720("46720", "管理账户信息查询"),
	
	/** 业务功能码=44701服务商发起客户入金 */
	@XmlEnumValue("44701") A44701("44701", "服务商发起客户入金"),

	/** 业务功能码=44702服务商发起客户出金 */
	@XmlEnumValue("44702") A44702("44702", "服务商发起客户出金"),

	/** 业务功能码=44703冲服务商发起客户入金 */
	@XmlEnumValue("44703") A44703("44703", "冲服务商发起客户入金"),

	/** 业务功能码=44704冲服务商发起客户出金 */
	@XmlEnumValue("44704") A44704("44704", "冲服务商发起客户出金"),

	/** 业务功能码=44603查询银行资金余额 */
	@XmlEnumValue("44603") A44603("44603", "查询银行资金余额"),

	/** 业务功能码=44708出入金交易汇总查询 */
	@XmlEnumValue("44708") A44708("44708", "出入金交易汇总查询"),

	/** 业务功能码=44901服务商签到 */
	@XmlEnumValue("44901") A44901("44901", "服务商签到"),

	/** 业务功能码=44902服务商签退 */
	@XmlEnumValue("44902") A44902("44902", "服务商签退"),

	/** 业务功能码=44903服务商发送文件 */
	@XmlEnumValue("44903") A44903("44903", "服务商发送文件"),

	/** 业务功能码=44904服务商接收文件 */
	@XmlEnumValue("44904") A44904("44904", "服务商接收文件"),

	/** 业务功能码=44908服务商文件生成完毕通知 */
	@XmlEnumValue("44908") A44908("44908", "服务商文件生成完毕通知"),

	/** 业务功能码=44909服务商发送文件完毕通知 */
	@XmlEnumValue("44909") A44909("44909", "服务商发送文件完毕通知"),

	/** 业务功能码=44910硬加密密钥交换 */
	@XmlEnumValue("44910") A44910("44910", "硬加密密钥交换"),

	/** 业务功能码=46700软加密密钥交换 */
	@XmlEnumValue("46700") A46700("46700", "软加密密钥交换"),

	/** 业务功能码=44705服务商收益划出 */
	@XmlEnumValue("44705") A44705("44705", "服务商收益划出"),

	/** 业务功能码=44706银行间头寸划出 */
	@XmlEnumValue("44706") A44706("44706", "银行间头寸划出"),

	/** 业务功能码=42701服务商发起标的建立 */
	@XmlEnumValue("42701") A42701("42701", "服务商发起标的建立"),

	/** 业务功能码=42702服务商发起标的撤销 */
	@XmlEnumValue("42702") A42702("42702", "服务商发起标的撤销"),

	/** 业务功能码=42700服务商发起标的结标 */
	@XmlEnumValue("42700") A42700("42700", "服务商发起标的结标"),

	/** 业务功能码=42703服务商发起客户标的投标 */
	@XmlEnumValue("42703") A42703("42703", "服务商发起客户标的投标"),

	/** 业务功能码=42704服务商发起客户标的投标撤销 */
	@XmlEnumValue("42704") A42704("42704", "服务商发起客户标的投标撤销"),

	/** 业务功能码=42709服务商标的信息变更 */
	@XmlEnumValue("42709") A42709("42709", "服务商标的信息变更"),

	/** 业务功能码=42705服务商发起开标确认 */
	@XmlEnumValue("42705") A42705("42705", "服务商发起开标确认"),

	/** 业务功能码=42706服务商发起客户债权转让 */
	@XmlEnumValue("42706") A42706("42706", "服务商发起客户债权转让"),

	/** 业务功能码=42707服务商发起借款人还款 */
	@XmlEnumValue("42707") A42707("42707", "服务商发起借款人还款"),

	
	/** 业务功能码=42708服务商发起风险准备金赔付 */
	@XmlEnumValue("42708") A42708("42708", "服务商发起风险准备金赔付");

	private String value;
	private String name;

	private InstructionCode(String value, String name) {
		this.value = value;
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public String getName() {
		return name;
	}

	@Override
	public String toString() {
		return value;
	}
}
